package com.hyt.it.ogt.kq.common.gov.constant;

import lombok.Getter;

/**
 * 枚举类，通用
 * @author Chengxh
 */
@Getter
public enum CodeEnum {

    /**
     * 试卷类型-正式试卷
     */
    FORMAL_PAPER(1, "试卷类型-正式试卷"),
    /**
     * 试卷类型-仿真试卷
     */
    SIMULATION_PAPER(2, "试卷类型-仿真试卷"),
    /**
     * 试卷类型-模拟试卷
     */
    MOCK_PAPER(3, "试卷类型-模拟试卷"),

    /**
     * 作答方式-电子作答
     */
    COMPUTER_EXAM(1, "电子作答"),
    /**
     * 作答方式-纸笔作答
     */
    PAPER_EXAM(2, "纸笔作答"),
    /**
     * 系统级数据
     */
    SYSTEM_DATA(1, "系统级数据"),
    /**
     * 机构级数据
     */
    OFFICE_DATA(2, "机构级数据"),
    /**
     * 任务发布状态-未发布
     */
    UNPUBLISHED(0, "任务发布状态-未发布"),
    /**
     * 任务发布状态-已发布
     */
    PUBLISHED(1, "任务发布状态-已发布"),
    /**
     * 考场状态-可用
     */
    ROOM_STATUS_USABLE(1, "考场状态-可用"),
    /**
     * 考场状态-占用
     */
    ROOM_STATUS_UNUSABLE(2, "考场状态-占用"),
    /**
     * 开考模式-自动开考
     */
    BEGIN_MODE_AUTO(1, "开考模式-自动开考"),
    /**
     * 开考模式-手动开考
     */
    BEGIN_MODE_MANUAL(2, "开考模式-手动开考"),
    /**
     * 区域类型：全国
     */
    AREA_TYPE_NATION(1, "区域类型：全国"),
    /**
     * 区域类型：省
     */
    AREA_TYPE_PROVINCE(2, "区域类型：省"),
    /**
     * 区域类型：市
     */
    AREA_TYPE_CITY(3, "区域类型：市"),
    /**
     * 区域类型：县区
     */
    AREA_TYPE_DISTRICT(4, "区域类型：县区"),
    /**
     * 正式考试
     */
    TASK_TYPE_FORMAL(1,"正式考试"),
    /**
     * 正式考试
     */
    TASK_TYPE_TEST(2,"正式考试"),

    /**
     * 考务类型(相对于GCE考试系统来说的考务类型)
     */
    GCE_EXAMINATION_TYPE(1, "考务类型(相对于GCE考试系统来说的考务类型)"),

    /**
     * 考务类型(相对于OBT考试系统来说的考务类型)
     */
    OBT_EXAMINATION_TYPE(2, "考务类型(相对于OBT考试系统来说的考务类型)"),
    /**
     * 未导出
     */
    CANDIDATE_TICKET_EXPORT_0(0, "未导出"),
    /**
     * 已导出
     */
    CANDIDATE_TICKET_EXPORT_1(1, "已导出"),
    /**
     * 否
     */
    TEMPLATE_CHECKED_0(0, "否"),
    /**
     * 是
     */
    TEMPLATE_CHECKED_1(1, "是"),
    /**
     * 否
     */
    TASK_DATA_LOCK_0(0, "否"),
    /**
     * 是
     */
    TASK_DATA_LOCK_1(1, "是"),
    /**
     * 暂无考生数据
     */
    EXAM_MANAGE_STATUS_0(0, "暂无考生数据"),
    /**
     * 正在编排中
     */
    EXAM_MANAGE_STATUS_1(1, "正在编排中"),
    /**
     * 编排数据已锁定
     */
    EXAM_MANAGE_STATUS_2(2, "编排数据已锁定"),
    /**
     * 未开始考试
     */
    EXAM_MONITOR_STATUS_0(0, "未开始考试"),
    /**
     * 正在考试
     */
    EXAM_MONITOR_STATUS_1(1, "正在考试"),
    /**
     * 已完成考试
     */
    EXAM_MONITOR_STATUS_2(2, "已完成考试"),
    /**
     * 无数据
     */
    TASK_DATA_TYPE_NONE(0, "无数据"),
    /**
     * 已绑定报名
     */
    TASK_DATA_TYPE_BM(1, "已绑定报名"),
    /**
     * 已导入数据
     */
    TASK_DATA_TYPE_IMPORT(2, "已导入数据"),
    /**
     * 考务选择数据
     */
    TASK_DATA_TYPE_GOV(3, "考务选择数据"),
    /**
     * 导入的报名考生数据，字段默认值为：0
     */
    TASK_DATA_IMPORT_VALUE(0, "导入的报名考生数据，字段默认值为：0"),

    TASK_DATA_IMPORT_PT_VALUE(2, "导入的平台考生数据，字段默认值为：1"),
    /**
     * 基础数据考生须知
     */
    EXAM_AGREEMENT_CANDIDATE_NOTICE(1, "考生须知"),
    /**
     * 基础数据，欢迎语
     */
    EXAM_AGREEMENT_HELLO(2, "欢迎语"),

    /**
     * 区域职能
     */
    AREA_FUNCTION_CUSTOM(1, "自定义区域"),

    /**
     * 考点职能
     */
    PLACE_FUNCTION_CUSTOM(1, "自定义考点"),

    /**
     * 考场职能
     */
    ROOM_FUNCTION_CUSTOM(1, "自定义考场"),


    //============ 批次状态(考试端) ===========
    EXAM_TIME_STATE_ING(1, "考中"),
    EXAM_TIME_STATE_OVER(2, "已过期"),
    EXAM_TIME_STATE_NONE(3, "未开始"),


    // ========   成功码   ========

    PT_SUCCESS_CODE(40001, "平台成功码"),
    TK_SUCCESS_CODE(20000, "题库成功码"),
    PJ_SUCCESS_CODE(20100, "评卷成功码"),
    BM_SUCCESS_CODE(14001, "报名成功码"),
    UA_SUCCESS_CODE(12001, "权限平台成功码"),
    UA_SUCCESS_CODE_V2(20000, "权限平台成功码"),
    KW_SUCCESS_CODE(16001, "监考成功码"),


    //============ 批量推送考生编排数据初始大小 ===========
    PUSH_TIME_ROOM_CANDIDATE_MAX_SIZE(100, "批量推送数据的最大值"),
    TSRQ_NO(0,"非特殊人群"),
    TSRQ_YES(1,"视障人群"),

    YZ_HAN(1,"汉语")
    ;
    /**
     * 类型编码
     */
    private final Integer code;
    /**
     * 描述信息
     */
    private final String name;

    /**
     * 枚举构造
     * @param code
     * @param name
     */
    CodeEnum(Integer code, String name) {
        this.code = code;
        this.name = name;
    }

}
